/**
 * 自动生成！请勿修改！
 */
import { command } from '../core/command';

class Projector {
    constructor(opt = {}) {
        const { device, to, ...opts } = opt;

        this.device = device || {};
        this.opts = opts || {};
        this._to = to;
    }

    get categoryCode() {
        return '010100003';
    }

    get categoryName() {
        return '\u667a\u80fd\u6295\u5f71\u4eea';
    }

    getAudioSource(params) {
        return command({
            method: 'getAudioSource',
            methodId: 'p3deB1C1',
            params,
            to: this.to?.[this.i] || this.to,
        });
    }

    getBrightness(params) {
        return command({
            method: 'getBrightness',
            methodId: 'pgh0GHhx',
            params,
            to: this.to?.[this.i] || this.to,
        });
    }

    getRefreshRate(params) {
        return command({
            method: 'getRefreshRate',
            methodId: 'ptRStNqq',
            params,
            to: this.to?.[this.i] || this.to,
        });
    }

    getResolution(params) {
        return command({
            method: 'getResolution',
            methodId: 'phEcSv0b',
            params,
            to: this.to?.[this.i] || this.to,
        });
    }

    getSwitch(params) {
        return command({
            method: 'getSwitch',
            methodId: 'pDrhqiFG',
            params,
            to: this.to?.[this.i] || this.to,
        });
    }

    getVideoSource(params) {
        return command({
            method: 'getVideoSource',
            methodId: 'pdNC7kSk',
            params,
            to: this.to?.[this.i] || this.to,
        });
    }

    setAudioSource(params) {
        return command({
            method: 'setAudioSource',
            methodId: 'p1vZoyH3',
            params,
            to: this.to?.[this.i] || this.to,
        });
    }

    setBrightness(params) {
        return command({
            method: 'setBrightness',
            methodId: 'ppAraUdZ',
            params,
            to: this.to?.[this.i] || this.to,
        });
    }

    setRefreshRate(params) {
        return command({
            method: 'setRefreshRate',
            methodId: 'pZgu6OnS',
            params,
            to: this.to?.[this.i] || this.to,
        });
    }

    setResolution(params) {
        return command({
            method: 'setResolution',
            methodId: 'pUPQhCPL',
            params,
            to: this.to?.[this.i] || this.to,
        });
    }

    setSwitch(params) {
        return command({
            method: 'setSwitch',
            methodId: 'peH3FwGd',
            params,
            to: this.to?.[this.i] || this.to,
        });
    }

    setVideoSource(params) {
        return command({
            method: 'setVideoSource',
            methodId: 'pGoxzj8V',
            params,
            to: this.to?.[this.i] || this.to,
        });
    }
}

export default Projector;
